#ifndef GESTURESTUDY_CPP_H
#define GESTURESTUDY_CPP_H

#include <QtGui/QMainWindow>
#include "ui_gesturestudy_cpp.h"

#include "NeuralNet.h"

class GestureStudy_cpp : public QMainWindow , public GestureStudy::ITrainListener
{
	Q_OBJECT

public:
	GestureStudy_cpp(QWidget *parent = 0, Qt::WFlags flags = 0);
	virtual ~GestureStudy_cpp();

	vector<double> createVectors();

	virtual void MessageOutput(int Epochs, double Error);
public slots:
	void trainNet();
	void learn();
	void clearPad();

	bool TestForMatch();

	void refreshNet();

	void save();
	void open();

private:
	Ui::GestureStudy_cppClass ui;

	GestureStudy::GestureData*  mData;
	GestureStudy::NeuralNet*	mNet;
	GestureStudy::RUN_MODE		mMode;

	double	HighestOutput;
	int		BestMatch;
	int		Match;
};

#endif // GESTURESTUDY_CPP_H
